/**
 * 获取二叉树的最小深度
 */

let t1 = {
    node: 1,
    left:{
        node: 1,
        left: {
            node:null
        },
        right: {
            node:null
        }
    },
    right: {
        node:2,
        left:{
            node:3,
            left:{
                node:null
            },
            right:{
                node:4,
                left:null,
                right:null
            }
        },
        right:null
    }
}

function minDeep (root){
    if(!root.node) return 0;

    if(!root.left && !root.right) return 1;
    if(!root.left) return minDeep(root.right)
    if(!root.right) return minDeep(root.left)

    // 最后+1是第一个root根元素
    return Math.min(minDeep(root.left), minDeep(root.right)) +1
}

console.log(minDeep(t1));
